package org.hawk.gwtppc.webtest.tests.classsuite;

import org.hawk.gwtppc.webtest.common.Asserts;
import org.hawk.gwtppc.webtest.common.Test;
import org.hawk.gwtppc.webtest.tests.mock.AnnotationMock;
import org.hawk.gwtppc.webtest.tests.mock.ClassMock;
import org.hawk.gwtppc.webtest.tests.mock.EnumMock;
import org.hawk.gwtppc.webtest.tests.mock.InterfaceMock;
import org.hawk.gwtppc.webtest.tests.mock.SubClassMock1;
import org.hawk.gwtppc.webtest.tests.mock.SubClassMock2;
import org.hawk.gwtppc.webtest.tests.mock.SubClassMock3;

public class GetSuperclassTest implements Test {

	public void run() throws Throwable {
		Asserts.assertEquals(SubClassMock1.class.getSuperclass(), ClassMock.class);
		Asserts.assertEquals(SubClassMock2.class.getSuperclass(), ClassMock.class);
		Asserts.assertEquals(SubClassMock3.class.getSuperclass(), ClassMock.class);
		Asserts.assertEquals(ClassMock.class.getSuperclass(), Object.class);
		Asserts.assertEquals(SubClassMock3[].class.getSuperclass(), Object.class);
		Asserts.assertEquals(Object.class.getSuperclass(), null);
		Asserts.assertEquals(InterfaceMock.class.getSuperclass(), null);
		Asserts.assertEquals(AnnotationMock.class.getSuperclass(), null);
		Asserts.assertEquals(EnumMock.class.getSuperclass(), Enum.class);
	}

	public String getName() {
		return "getSuperclass()";
	}

}
